|
Inside the System File
(Continued)
|
Text Services Manager
1.5
The Text Services Manager provides facilities
for applications to communicate with various text
processing utilities that provide services such as
special text input methods, spell checking, hyphenation,
etc.
- The Text Services Manager (TSM) has removed the
restriction of input methods and text services to
Japanese, Korean, and Chinese (Traditional and
Simplified) scripts, and now supports input methods in all
scripts such as Roman, Indic, and Thai.
- Keyboards and input methods can now generate Unicode
directly. Applications that support TSM and create
Unicode TSM Documents with the new interface type
kUnicodeDocument can receive all input as
arbitrary-length Unicode text directly via Apple events.
Unicode text in TSM Apple events is always contained in a
descriptor with AEKeyword
keyAETheData , DescType
typeUnicodeText . Apple events with
AEEventID
kUpdateActiveInputArea continue to be used
for input processed by an Input Method. The new
AEEventID
kUnicodeNotFromInputMethod is used for any
other type of input, such as when the input source is a
keyboard layout (Unicode or otherwise) or when an input
method does not handle a key event. This Apple event also
contains the original low-level key event record as
AEKeyword keyAETSMEventRecord
and DescType
typeLowLevelEventRecord , so that most key
event processing formerly done in an application's event
loop can now be performed in the application's Apple
event handlers.
- For compatibility, text is converted between Unicode
and Mac OS encodings as necessary. Text from Unicode
input sources is automatically converted to Mac encodings
for delivery to applications that don't use Unicode TSM
Documents; text from Mac OS encoding input sources is
converted to Unicode for delivery to applications using
Unicode TSM Documents. Similarly, application text
requested by an input method (with the
kGetSelectedText Apple event) is converted
as necessary.
- TSM calls the new Input Method API
UCTextServiceEvent instead of
TextServiceEvent when when sending input
text to a Unicode input method.
- TSM has absorbed functionality previously available
as TSM trap patches, and itself no longer installs
patches.
- TSM has been modified to support optional font and
keyboard synchronization. If the
smfDisableKeyScriptSync flag is set in the
smGenFlags Script Manager variable, calls to
ActivateTSMDocument will not synchronize the
current keyboard script with the internal keyboard script
state of the TSMDocument . The
ActivateTSMDocument call is the only TSM
call that calls through to KeyScript . For
more information about optional font and keyboard
synchronization, see the Script
Manager section.
Related Materials:
|